perm filename GRAPH.LAP[L70,TES] blob
sn#009942 filedate 1972-05-14 generic text, type T, neo UTF8
(SET_CONTEXT (QUOTE &READY) (QUOTE VALUE) NIL (QUOTE ***))
(LAP EDIT SUBR)
(MOVEI 1 (QUOTE "*****"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
(POPJ P)
NIL
(LAP GFUN1CHOICE SUBR)
(POPJ P)
NIL
(LAP GFUN2CHOICE SUBR)
(MOVEI 2 (QUOTE 1))
(JCALL 2 (E *PLUS))
NIL
(LAP GFUN3CHOICE SUBR)
(MOVE 2 (SPECIAL &NN))
(JCALL 2 (E *GREAT))
NIL
(LAP CHOICE SUBR)
(JSP 6 SPECBIND)
(0 1 (SPECIAL &NN))
(MOVEI 5 (QUOTE FAILURE))
(MOVEI 4 (QUOTE GFUN3CHOICE))
(MOVEI 3 (QUOTE GFUN2CHOICE))
(MOVEI 2 (QUOTE GFUN1CHOICE))
(MOVEI 1 (QUOTE 1))
(CALL 5 (E &SLCT))
(JRST 0 SPECSTR)
NIL
(LAP TRANSLATE SUBR)
(MOVEI 4 (QUOTE 5))
(MOVEI 3 (QUOTE NIL))
(MOVEI 2 (QUOTE VALUE))
(MOVEI 1 (QUOTE &LASTPROB))
(CALL 4 (E SET_CONTEXT))
(MOVEI 4 (QUOTE NIL))
(MOVE 3 4)
(MOVEI 2 (QUOTE VALUE))
(MOVEI 1 (QUOTE BLOCKS))
(CALL 4 (E SET_CONTEXT))
(CALL 0 (E GETPPN))
(MOVE 4 1)
(MOVEI 3 (QUOTE NIL))
(MOVEI 2 (QUOTE VALUE))
(MOVEI 1 (QUOTE &PPPN))
(CALL 4 (E SET_CONTEXT))
(MOVEI 1 (QUOTE "TRANSLATING FROM FILE: TOWER"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE (TOWER)))
(CALL 17 (E PARSE))
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E TERPRI))
(MOVEI 1 (QUOTE "YOU ARE ABOUT TO TYPE TO MLISP2, E.G.: PROBLEM(1);"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
(CALL 17 (E PARSE))
(MOVEI 1 (QUOTE NIL))
(POPJ P)
NIL
(LAP PROBLEM SUBR)
(PUSH P 1)
(MOVEI 2 (QUOTE EXPR))
(MOVEI 1 (QUOTE TOWER))
(CALL 2 (E GET))
(JUMPN 1 TAG12)
(MOVEI 2 (QUOTE FEXPR))
(MOVEI 1 (QUOTE TOWER))
(CALL 2 (E GET))
(JUMPN 1 TAG12)
(MOVEI 2 (QUOTE SUBR))
(MOVEI 1 (QUOTE TOWER))
(CALL 2 (E GET))
(JUMPN 1 TAG12)
(MOVEI 2 (QUOTE FSUBR))
(MOVEI 1 (QUOTE TOWER))
(CALL 2 (E GET))
(JUMPN 1 TAG12)
(MOVEI 1 (QUOTE "YOU FORGOT TO TYPE (TRANSLATE)"))
(CALL 1 (E PRINTSTR))
(JRST 0 TAG7)
TAG12 (MOVEI 2 (QUOTE 1))
(MOVE 1 0 P)
(CALL 2 (E *LESS))
(JUMPN 1 TAG16)
(MOVE 2 (SPECIAL &LASTPROB))
(MOVE 1 0 P)
(CALL 2 (E *GREAT))
(JUMPE 1 TAG15)
TAG16 (MOVEI 2 (QUOTE " PROBLEMS!"))
(MOVE 1 (SPECIAL &LASTPROB))
(CALL 2 (E CAT))
(MOVE 2 1)
(MOVEI 1 (QUOTE "ONLY "))
(CALL 2 (E CAT))
(CALL 1 (E PRINTSTR))
(MOVE 1 (SPECIAL &READY))
(JRST 0 TAG6)
TAG15 (MOVE 1 0 P)
(CALL 1 (E SUB1))
(MOVE 2 1)
(MOVEI 1 (QUOTE (G0297 G0298 G0299 G0300 G0301)))
(CALL 2 (E SUFLIST))
(HLRZ@ 1 1)
(JRST 0 TAG21)
TAG1 (MOVEI 2 (QUOTE ((1 2 4) (2) (3) (5) (7) (13) (2 5) (2 3))))
(JRST 0 TAG17)
TAG2 (MOVEI 2 (QUOTE ((2 5 10) (3) (7) (10) (15) (16) (17) (5 12) (2 12))))
(JRST 0 TAG17)
TAG3 (MOVEI 2 (QUOTE ((2 2 3 10 5) (4) (13) (7) (4 13) (13 7) (7 13))))
(JRST 0 TAG17)
TAG4 (MOVEI 2 (QUOTE ((2 3 1 12 4 3 2) (15) (26) (11 6) (16 11))))
(JRST 0 TAG17)
TAG5 (MOVEI 2 (QUOTE ((17 16 2 5 10 13 16) (2) (23) (21) (1) (103) (66 12) (36 12) (12 36))))
TAG17 (JRST 0 TAG22)
TAG21 (CAIN 1 (QUOTE G0301))
(JRST 0 TAG5)
(CAIN 1 (QUOTE G0300))
(JRST 0 TAG4)
(CAIN 1 (QUOTE G0299))
(JRST 0 TAG3)
(CAIN 1 (QUOTE G0298))
(JRST 0 TAG2)
(CAIN 1 (QUOTE G0297))
(JRST 0 TAG1)
(PUSHJ P *UDT)
TAG22 (MOVE 1 0 P)
(CALL 2 (E CONS))
(MOVE 4 1)
(MOVEI 3 (QUOTE NIL))
(MOVEI 2 (QUOTE VALUE))
(MOVEI 1 (QUOTE &PROB))
(CALL 4 (E SET_CONTEXT))
(MOVEI 4 (QUOTE T))
(MOVEI 3 (QUOTE NIL))
(MOVEI 2 (QUOTE &ISPROB))
(MOVE 1 2)
(CALL 4 (E SET_CONTEXT))
(MOVEI 1 (QUOTE "THESE ARE THE BLOCKS YOU HAVE:"))
(CALL 1 (E PRINC))
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E TERPRI))
(HRRZ@ 1 (SPECIAL &PROB))
(HLRZ@ 1 1)
(CALL 1 (E PRINT))
(MOVE 4 1)
(MOVEI 3 (QUOTE NIL))
(MOVEI 2 (QUOTE VALUE))
(MOVEI 1 (QUOTE BLOCKS))
(CALL 4 (E SET_CONTEXT))
(MOVE 1 (SPECIAL &READY))
(JRST 0 TAG6)
TAG7 (MOVEI 1 (QUOTE NIL))
TAG6 (SUB P (C 0 0 1 1))
(POPJ P)
NIL
(LAP GFUN1TEST SUBR)
(CALL 0 (E TYI))
(JCALL 1 (E TYO))
NIL
(LAP TEST FSUBR)
(PUSH P 1)
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(PUSH P (C 0 0 (QUOTE NIL) 0))
(MOVEI 2 (QUOTE &ISPROB))
(MOVE 1 2)
(CALL 2 (E GET))
(JUMPN 1 TAG16)
(MOVEI 1 (QUOTE "YOU FORGOT TO SAY PROBLEM(1);"))
(CALL 1 (E PRINTSTR))
(JRST 0 TAG13)
TAG16 (MOVE 1 -5 P)
(CALL 1 (E LENGTH))
(MOVEI 2 (QUOTE 2))
(CALL 2 (E *GREAT))
(JUMPE 1 TAG20)
(MOVEI 1 (QUOTE "TEST HAS 0, 1, OR 2 ARGUMENTS!"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
(JRST 0 TAG17)
TAG20 (MOVE 1 -5 P)
(CALL 1 (E LENGTH))
(MOVEI 2 (QUOTE 1))
(CALL 2 (E *PLUS))
(CALL 1 (E SUB1))
(MOVE 2 1)
(MOVEI 1 (QUOTE (G0302 G0303 G0304 G0305)))
(CALL 2 (E SUFLIST))
(HLRZ@ 1 1)
(JRST 0 TAG25)
TAG1 (HRRZ@ 1 (SPECIAL &PROB))
(HRRZ@ 1 1)
(JRST 0 TAG23)
TAG2 (HLRZ@ 1 -5 P)
(CALL 1 (E NUMBERP))
(JUMPN 1 TAG27)
(MOVEI 1 (QUOTE "NON-NUMERIC ARGUMENT TO TEST"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
(JRST 0 TAG26)
TAG27 (MOVE 1 -5 P)
(CALL 1 (E NCONS))
TAG30
TAG26 (JRST 0 TAG23)
TAG3 (HLRZ@ 1 -5 P)
(CALL 1 (E NUMBERP))
(JUMPE 1 TAG34)
(HRRZ@ 1 -5 P)
(HLRZ@ 1 1)
(CALL 1 (E NUMBERP))
(JUMPN 1 TAG33)
TAG34 (MOVEI 1 (QUOTE "NON-NUMERIC ARGUMENT TO TEST"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
(JRST 0 TAG32)
TAG33 (MOVE 1 -5 P)
(CALL 1 (E NCONS))
TAG35
TAG32 (JRST 0 TAG23)
TAG4 (MOVEI 1 (QUOTE "TEST CAN ONLY HAVE 0, 1, OR 2 ARGUMENTS"))
(CALL 1 (E PRINTSTR))
TAG23 (JRST 0 TAG37)
TAG25 (CAIN 1 (QUOTE G0305))
(JRST 0 TAG4)
(CAIN 1 (QUOTE G0304))
(JRST 0 TAG3)
(CAIN 1 (QUOTE G0303))
(JRST 0 TAG2)
(CAIN 1 (QUOTE G0302))
(JRST 0 TAG1)
(PUSHJ P *UDT)
TAG37
TAG21
TAG17 (MOVEM 1 0 P)
(MOVE 2 (SPECIAL &LASTPROB))
(HLRZ@ 1 (SPECIAL &PROB))
(CALL 2 (E EQUAL))
(JUMPE 1 TAG41)
(MOVE 1 -5 P)
(JUMPE 1 TAG40)
TAG41 (TDZA 1 1)
TAG40 (MOVEI 1 (QUOTE T))
(MOVEM 1 -2 P)
(JUMPE 1 TAG43)
(MOVEI 2 (QUOTE FEXPR))
(MOVEI 1 (QUOTE TOWER))
(CALL 2 (E GET))
(JUMPN 1 TAG46)
(MOVEI 1 (QUOTE FAILURE))
(CALL 2 (E GET))
(JUMPN 1 TAG46)
(MOVEI 1 (QUOTE CHOICE))
(CALL 2 (E GET))
(JUMPE 1 TAG45)
TAG46 (MOVEI 1 (QUOTE "Please UNTRACE"))
(CALL 1 (E PRINTSTR))
(JRST 0 TAG13)
TAG45 (MOVEI 1 (QUOTE "ANSWERS WILL NOT APPEAR ON THE TERMINAL."))
(CALL 1 (E PRINTSTR))
(MOVE 1 (SPECIAL &PPPN))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE (4 HJE)))
(CALL 2 (E XCONS))
(MOVEI 2 (QUOTE &CH))
(CALL 2 (E XCONS))
(MOVEI 2 (QUOTE OUTPUT))
(CALL 2 (E XCONS))
(CALL 1 (E NCONS))
(MOVEI 2 (QUOTE OUTC))
(CALL 2 (E XCONS))
(CALL 1 (E *EVAL))
(MOVEI 1 (QUOTE (DSK: TOWER)))
(CALL 17 (E INPUT))
(CALL 1 (E INC))
TAG5 (MOVEI 1 (QUOTE ((GFUN1TEST) T)))
(CALL 17 (E ERRSET))
(CAIN 1 (QUOTE $EOF$))
(JRST 0 TAG60)
(JRST 0 TAG57)
TAG60 (JRST 0 TAG55)
TAG57 (JRST 0 TAG5)
TAG55 (MOVEI 1 (QUOTE NIL))
(HRRZ@ 1 (SPECIAL &PROB))
(HLRZ@ 1 1)
(CALL 1 (E PRINT))
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E TERPRI))
(MOVEI 1 (QUOTE NIL))
TAG47
TAG43 (PUSH P 0 P)
(PUSH P (C 0 0 (QUOTE NIL) 0))
TAG6 (MOVE 1 -1 P)
(JUMPE 1 TAG11)
TAG66 (HLRZ@ 1 -1 P)
(MOVEM 1 -3 P)
(CALL 1 (E LENGTH))
(CALL 1 (E SUB1))
(MOVE 2 1)
(MOVEI 1 (QUOTE (TOWER TWOTOWERS)))
(CALL 2 (E SUFLIST))
(MOVE 2 -3 P)
(HLRZ@ 1 1)
(CALL 2 (E CONS))
(MOVEM 1 -5 P)
(HRRZ@ 1 (SPECIAL &PROB))
(HLRZ@ 1 1)
(MOVEM 1 (SPECIAL BLOCKS))
(MOVE 1 -5 P)
(CALL 1 (E PRIN1))
(MOVE 1 -4 P)
(JUMPE 1 TAG74)
(CALL 0 (E GC))
TAG74 (MOVEI 1 (QUOTE 2))
(CALL 1 (E CHOICE))
(CALL 1 (E SUB1))
(MOVE 2 1)
(MOVEI 1 (QUOTE (G0306 G0307)))
(CALL 2 (E SUFLIST))
(HLRZ@ 1 1)
(JRST 0 TAG77)
TAG7 (MOVE 1 -5 P)
(CALL 1 (E *EVAL))
(JRST 0 TAG75)
TAG10 (MOVEI 1 (QUOTE FAILURE))
TAG75 (JRST 0 TAG100)
TAG77 (CAIN 1 (QUOTE G0307))
(JRST 0 TAG10)
(CAIN 1 (QUOTE G0306))
(JRST 0 TAG7)
(PUSHJ P *UDT)
TAG100 (MOVEM 1 -6 P)
(MOVE 1 -4 P)
(JUMPE 1 TAG102)
(MOVEI 2 (QUOTE NIL))
(MOVEI 1 (QUOTE &CH))
(CALL 2 (E OUTC))
TAG102 (MOVEI 1 (QUOTE " = "))
(CALL 1 (E PRINC))
(MOVE 1 -6 P)
(CALL 1 (E PRIN1))
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E TERPRI))
(CALL 0 (E FLUSH))
(MOVEI 1 (QUOTE NIL))
(MOVEM 1 0 P)
(HRRZ@ 1 -1 P)
(MOVEM 1 -1 P)
(JRST 0 TAG6)
TAG11 (CLEARM 1 -3 P)
(MOVE 1 0 P)
(SUB P (C 0 0 2 2))
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E TERPRI))
(MOVE 1 -2 P)
(JUMPE 1 TAG104)
(MOVEI 2 (QUOTE T))
(MOVEI 1 (QUOTE NIL))
(CALL 2 (E OUTC))
(MOVEI 1 (QUOTE "ANSWERS RECORDED FOR GRADER"))
(CALL 1 (E PRINTSTR))
(MOVEI 1 (QUOTE NIL))
TAG104 (MOVE 1 (SPECIAL &READY))
(JRST 0 TAG12)
TAG13 (MOVEI 1 (QUOTE NIL))
TAG12 (SUB P (C 0 0 6 6))
(POPJ P)
NIL
(CSYM G0308)